package com.zsc.edu.testfragment;

import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;

import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

public class WeChatActivity extends AppCompatActivity implements View.OnClickListener{

    // 四个Fragment 对应四个Button去切换
    ChatFragment fg1;
    MyFragment fg2, fg3, fg4;

    FragmentManager fragmentManager;

    //Button btn_con, btn_find, btn_msg , btn_me;
    ImageView btn_con, btn_find, btn_msg , btn_me;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_we_chat);

        // 获得管理器
        fragmentManager = getSupportFragmentManager();

        btn_con = findViewById(R.id.btn_cot);
        btn_find = findViewById(R.id.btn_find);
        btn_msg = findViewById(R.id.btn_msg);
        btn_me = findViewById(R.id.btn_me);

//        // 默认灰色
//        btn_con.setBackgroundColor(Color.GRAY);
//        btn_find.setBackgroundColor(Color.GRAY);
//        btn_me.setBackgroundColor(Color.GRAY);
//        // 默认第一个选中，红色
//        btn_msg.setBackgroundColor(Color.RED);

        btn_con.setOnClickListener(this);
        btn_find.setOnClickListener(this);
        btn_me.setOnClickListener(this);
        btn_msg.setOnClickListener(this);

        // 默认第一个被选中
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        //fg1 = new MyFragment(R.drawable.img1, "第1个碎片");
        fg1 = new ChatFragment();
        fragmentTransaction.add(R.id.framelayout, fg1);// 添加碎片
        fragmentTransaction.commit();


    }

    @Override
    public void onClick(View view) {

        // begin  transaction
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

        // 隐藏所有的碎片
        if(fg1 != null)fragmentTransaction.hide(fg1);
        if(fg2 != null)fragmentTransaction.hide(fg2);
        if(fg3 != null)fragmentTransaction.hide(fg3);
        if(fg4 != null)fragmentTransaction.hide(fg4);

        // 所有按钮变灰色
//        btn_con.setBackgroundColor(Color.GRAY);
//        btn_find.setBackgroundColor(Color.GRAY);
//        btn_me.setBackgroundColor(Color.GRAY);
//        btn_msg.setBackgroundColor(Color.GRAY);
        btn_msg.setImageResource(R.drawable.icon_main_tab_1_n);
        btn_con.setImageResource(R.drawable.icon_main_tab_2_n);
        btn_find.setImageResource(R.drawable.icon_main_tab_3_n);
        btn_me.setImageResource(R.drawable.icon_main_tab_4_n);

        //通过 Button  的 id 号来区分，是哪个Button 被按下
        switch(view.getId()){
            case R.id.btn_msg:
                if(fg1 == null){
                    //fg1 = new MyFragment(R.drawable.img1, "第1个碎片");
                    fg1 = new ChatFragment();
                    fragmentTransaction.add(R.id.framelayout, fg1);// 添加碎片
                }else{
                    fragmentTransaction.show(fg1); // 显示碎片
                }
                //btn_msg.setBackgroundColor(Color.RED);
                btn_msg.setImageResource(R.drawable.icon_main_tab_1_p);
                break;
            case R.id.btn_cot:
                if(fg2== null){
                    fg2 = new MyFragment(R.drawable.img2, "第2个碎片");
                    fragmentTransaction.add(R.id.framelayout, fg2);// 添加碎片
                }else{
                    fragmentTransaction.show(fg2); // 显示碎片
                }
                //btn_con.setBackgroundColor(Color.RED);
                btn_con.setImageResource(R.drawable.icon_main_tab_2_p);
                break;
            case R.id.btn_find:
                if(fg3== null){
                    fg3 = new MyFragment(R.drawable.img3, "第3个碎片");
                    fragmentTransaction.add(R.id.framelayout, fg3);// 添加碎片
                }else{
                    fragmentTransaction.show(fg3); // 显示碎片
                }
                //btn_find.setBackgroundColor(Color.RED);
                btn_find.setImageResource(R.drawable.icon_main_tab_3_p);
                break;
            case R.id.btn_me:
                if(fg4== null){
                    fg4 = new MyFragment(R.drawable.img4, "第4个碎片");
                    fragmentTransaction.add(R.id.framelayout, fg4);// 添加碎片
                }else{
                    fragmentTransaction.show(fg4); // 显示碎片
                }
                //btn_me.setBackgroundColor(Color.RED);
                btn_me.setImageResource(R.drawable.icon_main_tab_4_p);
                break;
        }

        // 提交事务
        fragmentTransaction.commit();
    }

}